/**
 *
 */
package context;


import com.sun.xml.internal.ws.client.RequestContext;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author scotthu
 * @date 2018年3月20日
 */
@Data
public class TaskContext {

    /**
     * 任务标识
     */
    Long taskId;

    /**
     * 任务编号
     */
    String serialNo;

    /**
     * 任务名称
     */
    String taskName;

    /**
     * 任务提交人id
     */
    Long submitterId;

    /**
     * 任务提交时间
     */
    Date submitTime;

    Long siteId;

    /**
     * 公司id
     */
    Long companyId;

//    AuthorizeVO authorizeVO;
//
//    AuthorizeChapterVO chapterVO;

    RequestContext context;

    List<String> ids;

    Integer taskSource;

    Integer bizType;

    public TaskContext(Long taskId, String taskName, Long submitterId, Date submitTime) {
        this.taskId = taskId;
        this.taskName = taskName;
        this.submitterId = submitterId;
        this.submitTime = submitTime;
    }

    public TaskContext(Long taskId, String taskName, Long submitterId, Date submitTime, Long siteId, Long companyId) {
        super();
        this.taskId = taskId;
        this.taskName = taskName;
        this.submitterId = submitterId;
        this.submitTime = submitTime;
        this.siteId = siteId;
        this.companyId = companyId;
    }

    public TaskContext(Long taskId, String serialNo, String taskName, Long submitterId, Date submitTime, Long siteId,
                       Long companyId) {
        super();
        this.taskId = taskId;
        this.serialNo = serialNo;
        this.taskName = taskName;
        this.submitterId = submitterId;
        this.submitTime = submitTime;
        this.siteId = siteId;
        this.companyId = companyId;
    }

    public TaskContext(Long taskId, String serialNo, String taskName, Long submitterId, Date submitTime, Long siteId,
                       Long companyId, RequestContext context) {
        super();
        this.taskId = taskId;
        this.serialNo = serialNo;
        this.taskName = taskName;
        this.submitterId = submitterId;
        this.submitTime = submitTime;
        this.siteId = siteId;
        this.companyId = companyId;
        this.context = context;
    }

//    public TaskContext(Long taskId, String serialNo, String taskName, Long submitterId, Date submitTime, Long siteId,
//        Long companyId, AuthorizeVO authorizeVO, RequestContext context) {
//        super();
//        this.taskId = taskId;
//        this.serialNo = serialNo;
//        this.taskName = taskName;
//        this.submitterId = submitterId;
//        this.submitTime = submitTime;
//        this.siteId = siteId;
//        this.companyId = companyId;
//        this.authorizeVO = authorizeVO;
//        this.context = context;
//    }
//
//    public TaskContext(Long taskId, String serialNo, String taskName, Long submitterId, Date submitTime,
//        AuthorizeChapterVO chapterVO, List<String> ids) {
//        super();
//        this.taskId = taskId;
//        this.serialNo = serialNo;
//        this.taskName = taskName;
//        this.submitterId = submitterId;
//        this.submitTime = submitTime;
//        this.chapterVO = chapterVO;
//        this.ids = ids;
//    }
//
//    public TaskContext(Long taskId, Integer taskSource, String serialNo, String taskName, Long submitterId,
//        Date submitTime, Long siteId, Long companyId, AuthorizeVO authorizeVO, AuthorizeChapterVO chapterVO,
//        RequestContext context, List<String> ids, Integer bizType) {
//        this.taskSource = taskSource;
//        this.taskId = taskId;
//        this.serialNo = serialNo;
//        this.taskName = taskName;
//        this.submitterId = submitterId;
//        this.submitTime = submitTime;
//        this.siteId = siteId;
//        this.companyId = companyId;
//        this.authorizeVO = authorizeVO;
//        this.chapterVO = chapterVO;
//        this.context = context;
//        this.ids = ids;
//        this.bizType = bizType;
//    }
//
//    public TaskContext(RequestContext context, TaskVO<?> taskVO) {
//        super();
//        this.taskId = taskVO.getTaskId();
//        this.serialNo = taskVO.getSerialNo();
//        this.taskName = taskVO.getTaskName();
//        this.submitterId = context.getAccountId();
//        this.submitTime = new Date();
//        this.siteId = context.getSiteId();
//        this.companyId = context.getCompanyId();
//        this.bizType = taskVO.getBizType();
//        this.taskSource = taskVO.getTaskSource();
//    }
}
